^相同为0,不同为1
&都为1为1,其他为0
1.如果(n&(n-1))==0,则n是2的幂或0;
2.求二进制数n当中1的个数
while(n>0){ans++;n&=(n-1);}
转载于:https://www.cnblogs.com/huluxin/p/9912140.html